export const outlineFormData = (
    {code:'',quality:'专业必修',cName:'数据结构',eName:'Data Structure', creAndHours:'85/4', 
    praHours:'34', class_unit:'计算机学院',majors:'软件工程、网络工程、计算机科学与技术、物联网工程',
    per_class:'程序设计基础',class_com:'https://www.scholat.com/course/JYDS ',language:'汉语',teacher_unit:'计算机学院',teacher_grade:'2023-2024第一学期',classname:'2203',}
)

// code:'',//课程编码
// quality:'',//课程性质
// cName:'',//课程名称
// eName:'',//课程英文名称
// creAndHours:'',//课程学时学分
// praHours:'',//课程实践学分
// class_unit:'',//课程单位
// majors:'',//课程适用专业
// per_class:'',//先修课程
// class_com:'',//课程网址
// language:'',//授课语言
// teacher_unit:'',//所教学院
// teacher_grade:'',//所教学年
// classname:'',//所教班级
// // name: '',
// subject_id:0,//课程id
// user_id:0,//用户id
export const evaluationMatrix = ([
    {
        criteria: '课程目标1',
        // ek1: 'M', ek2: '', ek3: '', ek4: '',
        // pa1: '', pa2: '', pa3: '',
        // ds1: '', ds2: '', ds3: '', ds4: ''
        tar1:'M',tar2:'',tar3:''
    },
    {
        criteria: '课程目标2',
        // ek1: '', ek2: '', ek3: '', ek4: '',
        // pa1: 'H', pa2: '', pa3: '',
        // ds1: '', ds2: '', ds3: '', ds4: ''
        tar1:'',tar2:'H',tar3:''
    },
    {
        criteria: '课程目标3',
        // ek1: '', ek2: '', ek3: '', ek4: '',
        // pa1: '', pa2: '', pa3: '',
        // ds1: '', ds2: '', ds3: 'M', ds4: ''
        tar1:'',tar2:'',tar3:'M'
    },
]);

export const teachingSchedule = ([
    {chapter:'第一章  绪论',period:'6',theory:'2',practice:'4'},
    {chapter:'第二章 线性表',period:'6',theory:'2',practice:'4'},
    {chapter:'第三章 栈与队列',period:'6',theory:'2',practice:'4'},
    {chapter:'第四章 串',period:'6',theory:'2',practice:'4'},
    {chapter:'第五章 递归',period:'6',theory:'2',practice:'4'},
    {chapter:'第六章 数组与广义表',period:'6',theory:'2',practice:'4'},
    {chapter:'第七章 树和二叉树',period:'6',theory:'2',practice:'4'},
    {chapter:'第八章 图',period:'6',theory:'2',practice:'4'},
    {chapter:'第九章 查找',period:'6',theory:'2',practice:'4'},
    {chapter:'第十章 内排序',period:'6',theory:'2',practice:'4'},
    {chapter:'第一章  绪论',period:'6',theory:'2',practice:'4'},
])

export const courseContentData = ([
    {chapter:'第一章  绪论',teaching_Content:'数据结构的基本概念',teaching_Requirement:'认识数据结构的定义、包括数据逻辑结构、存储结构和运算的3个层次。',teaching_Aim:'课程目标1'},
    {chapter:'第一章  绪论',teaching_Content:'算法的基本概念',teaching_Requirement:'认识算法的定义和5个基本特性。',teaching_Aim:'课程目标1'},
    {chapter:'第一章  绪论',teaching_Content:'算法描述',teaching_Requirement:'认识用高级语言如C/C++描述算法的基本方法。',teaching_Aim:'课程目标1'},
    {chapter:'第一章  绪论',teaching_Content:'算法分析',teaching_Requirement:'掌握算法的时间复杂度和空间复杂度分析方法。',teaching_Aim:'课程目标1'},
    {chapter:'第一章  绪论',teaching_Content:'数据结构+算法=程序',teaching_Requirement:'认识从数据结构角度求解问题的基本步骤。',teaching_Aim:'课程目标1'},
    {chapter:'第二章 线性表',teaching_Content:'线性表及其逻辑结构',teaching_Requirement:'认识线性表的定义和线性表的基本运算。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第二章 线性表',teaching_Content:'线性表的顺序存储结构—顺序表',teaching_Requirement:'掌握顺序表的存储结构特点和顺序表基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第二章 线性表',teaching_Content:'线性表的链式存储结构—单链表',teaching_Requirement:'掌握单链表的存储结构特点、单链表的插入和删除节点操作、单链表的建表方法、以及单链表基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第二章 线性表',teaching_Content:'线性表的链式存储结构—双链表',teaching_Requirement:'掌握双链表的存储结构特点、双链表的插入和删除节点操作、双链表的建表方法、以及双链表基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第二章 线性表',teaching_Content:'线性表的链式存储结构—循环链表',teaching_Requirement:'认识线性表的掌握循环链表的存储结构特点、循环链表的插入和删除节点操作、循环链表的建表方法、以及循环链表基本运算的实现。定义和线性表的基本运算。',teaching_Aim:'课程目标1、2、3'},
    // {chapter:'第二章 线性表',teaching_Content:'线性表的应用',teaching_Requirement:'掌握从求解问题描述、数据组织到运算算法设计完整过程。',teaching_Aim:'课程目标1、2、3'},
    // {chapter:'第二章 线性表',teaching_Content:'有序表',teaching_Requirement:'掌握有序表和线性表的联系和差别，有序表的存储结构及其基本运算算法设计、有序表的归并算法。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第三章 栈与队列',teaching_Content:'栈的基本概念',teaching_Requirement:'了解栈的定义、栈的逻辑结构特性和栈的基本运算。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第三章 栈与队列',teaching_Content:'栈的顺序存储结构-顺序栈',teaching_Requirement:'掌握顺序栈的存储结构特点和顺序栈基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第三章 栈与队列',teaching_Content:'栈的链式存储结构-链栈',teaching_Requirement:'掌握链栈的存储结构特点和链栈基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第三章 栈与队列',teaching_Content:'栈的应用',teaching_Requirement:'了解栈在表达式求值中的应用和栈在求迷宫问题中的应用',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第三章 栈与队列',teaching_Content:'队列的顺序存储结构-顺序队',teaching_Requirement:'掌握顺序队的存储结构特点和顺序队基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    // {chapter:'第三章 栈与队列',teaching_Content:'队列的链式存储结构-链队',teaching_Requirement:'掌握链队的存储结构特点和链队基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    // {chapter:'第三章 栈与队列',teaching_Content:'队列的应用',teaching_Requirement:'了解队列在求迷宫问题中的应用',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第四章 串',teaching_Content:'串的基本概念',teaching_Requirement:'了解串的定义、串的逻辑结构特性和串的基本运算。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第四章 串',teaching_Content:'串的顺序存储结构-顺序串',teaching_Requirement:'掌握顺序串的存储结构特点和顺序串基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第四章 串',teaching_Content:'串的链式存储结构-链串',teaching_Requirement:'掌握链串的存储结构特点和链串基本运算的实现。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第四章 串',teaching_Content:'串的模式匹配',teaching_Requirement:'掌握Brute-Force算法和KMP算法。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第四章 串',teaching_Content:'串的模式匹配',teaching_Requirement:'掌握Brute-Force算法和KMP算法。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第五章 递归',teaching_Content:'递归的基本概念',teaching_Requirement:'掌握Brute-了解递归的定义、何时使用递归和递归模型的表示方法。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第五章 递归',teaching_Content:'递归的执行',teaching_Requirement:'了解递归的执行过程。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第五章 递归',teaching_Content:'递归算法的设计',teaching_Requirement:'掌握递归算法设计步骤、递归数据结构的递归算法设计和递归求解方法的递归算法设计。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第五章 递归',teaching_Content:'递归算法的设计',teaching_Requirement:'掌握递归算法设计步骤、递归数据结构的递归算法设计和递归求解方法的递归算法设计。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第五章 递归',teaching_Content:'递归算法的设计',teaching_Requirement:'掌握递归算法设计步骤、递归数据结构的递归算法设计和递归求解方法的递归算法设计。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第六章 数组和广义表',teaching_Content:'数组的基本概念',teaching_Requirement:'了解数组的定义和数组的存储结构。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第六章 数组和广义表',teaching_Content:'数组的基本概念',teaching_Requirement:'了解数组的定义和数组的存储结构。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第六章 数组和广义表',teaching_Content:'数组的基本概念',teaching_Requirement:'了解数组的定义和数组的存储结构。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第六章 数组和广义表',teaching_Content:'稀疏矩阵',teaching_Requirement:'了解稀疏矩阵的特点、稀疏矩阵的三元组表示和十字链表表示。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'树的基本概念',teaching_Requirement:'了解树的定义、树的逻辑表示方法和树的基本术语。',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'树的性质',teaching_Requirement:'了解树的4个性质及其应用。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'树的基本运算',teaching_Requirement:'掌握树的先根遍历、后根遍历和层次遍历过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'树的存储结构',teaching_Requirement:'掌握树的双亲存储结构、孩子链存储结构和孩子兄弟链存储结构以及特点。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树的基本概念',teaching_Requirement:'了解二叉树、满二叉树和完全二叉树的定义、二叉树的逻辑表示方法和二叉树的基本术语。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树树的性质',teaching_Requirement:'了解二叉树树的5个性质及其应用。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树与树、森林之间的转换',teaching_Requirement:'了解森林、树转换为二叉树以及二叉树还原为森林、树的过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树存储结构',teaching_Requirement:'掌握二叉树的顺序存储结构和二叉树的链式存储结构。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树的基本运算及其实现',teaching_Requirement:'掌握二叉树的基本运算及其实现过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树的遍历',teaching_Requirement:'掌握二叉树的先序遍历、中序遍历、后序遍历和层次遍历算法设计，了解先序遍历、中序遍历和后序遍历非递归算法设计。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树的遍历',teaching_Requirement:'掌握二叉树的先序遍历、中序遍历、后序遍历和层次遍历算法设计，了解先序遍历、中序遍历和后序遍历非递归算法设计。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树遍历应用',teaching_Requirement:'掌握二叉树的4种遍历在二叉树算法设计中的应用。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'二叉树的构造',teaching_Requirement:'掌握由先序遍历、中序遍历序列构造二叉树和由后序遍历、中序遍历序列构造二叉树的过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'线索二叉树',teaching_Requirement:'了解线索二叉树的概念、线索二叉树的构造和遍历过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第七章 树和二叉树',teaching_Content:'哈夫曼树',teaching_Requirement:'掌握哈夫曼树的概念、构造哈夫曼树和产生哈夫曼编码的过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第八章 图',teaching_Content:'图的基本概念',teaching_Requirement:'了解图的定义和图的基本术语。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第八章 图',teaching_Content:'图的存储结构',teaching_Requirement:'掌握图的邻接矩阵存储方法和邻接表表存储方法。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第八章 图',teaching_Content:'图的遍历',teaching_Requirement:'掌握图深度优先搜索遍历和广度优先搜索遍历算法。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第八章 图',teaching_Content:'图遍历算法的应用',teaching_Requirement:'掌握图的两种遍历算法在图算法设计中的应用。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第八章 图',teaching_Content:'生成树和最小生成树',teaching_Requirement:'了解生成树和最小生成树的概念，掌握构造最小生成树的普里姆算法和克鲁斯卡尔算法。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第九章 查找',teaching_Content:'查找的基本概念',teaching_Requirement:'查找表和平均查找长度的定义。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第九章 查找',teaching_Content:'线性表的查找',teaching_Requirement:'掌握顺序查找、折半查找和分块查找算法设计和算法分析。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第九章 查找',teaching_Content:'树表的查找',teaching_Requirement:'掌握二叉排序树的算法设计，了解平衡二叉树、B-和B+树的组织和查找过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第九章 查找',teaching_Content:'哈希表查找',teaching_Requirement:'掌握哈希表的基本概念、哈希函数构造方法、哈希冲突解决方法和哈希查找过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第九章 查找',teaching_Content:'哈希表查找',teaching_Requirement:'掌握哈希表的基本概念、哈希函数构造方法、哈希冲突解决方法和哈希查找过程。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第十章 内排序',teaching_Content:'排序的基本概念',teaching_Requirement:'了解排序算法的稳定性、排序算法的分类。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第十章 内排序',teaching_Content:'插入排序',teaching_Requirement:'掌握直接插入排序算法的思路、排序算法和算法分析，折半插入排序算法的思路、排序算法和算法分析，希尔排序算法的思路、排序算法和算法分析。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第十章 内排序',teaching_Content:'交换排序',teaching_Requirement:'掌握冒泡排序算法的思路、排序算法和算法分析，快速排序算法的思路、排序算法和算法分析。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第十章 内排序',teaching_Content:'选择排序',teaching_Requirement:'掌握直接选择排序算法的思路、排序算法和算法分析，堆排序算法的思路、排序算法和算法分析。 ',teaching_Aim:'课程目标1、2、3'},
    {chapter:'第十章 内排序',teaching_Content:'归并排序',teaching_Requirement:'掌握归并排序算法的思路，二路归并算法和算法分析。 ',teaching_Aim:'课程目标1、2、3'},
])

export const gradeEvaluaationData = ([
    {content:'1.平时成绩',ratio:'40%'},
    {content:'2.考试',ratio:'60%'},
    // {content:'课堂表现',ratio1:'1.2',ratio2:'60%'},
    // {content:'作业评分',ratio1:'1.2',ratio2:'60%'},
    {content:'课堂表现',ratio1:'2.2',ratio2:'50%'},
    {content:'作业评分',ratio1:'4.4',ratio2:'50%'},
    {content:'卷面评分',ratio1:'1.2',ratio2:'30%'},
    {content:'卷面评分',ratio1:'2.1',ratio2:'40%'},
    {content:'卷面评分',ratio1:'3.3',ratio2:'30%'},
])

export const objectWeightData = ([
    {program_Object:'课程目标1',supporting_Aim:'课堂表现',weigh_Ratio:'0.1'},
    {program_Object:'课程目标1',supporting_Aim:'作业1、作业2',weigh_Ratio:'0.3'},
    {program_Object:'课程目标1',supporting_Aim:'试题集合X1',weigh_Ratio:'0.6'},
    {program_Object:'课程目标2',supporting_Aim:'课堂表现',weigh_Ratio:'0.1'},
    {program_Object:'课程目标2',supporting_Aim:'作业3',weigh_Ratio:'0.3'},
    {program_Object:'课程目标2',supporting_Aim:'试题集合X₂',weigh_Ratio:'0.6'},
    {program_Object:'课程目标3',supporting_Aim:'课堂表现',weigh_Ratio:'0.1'},
    {program_Object:'课程目标3',supporting_Aim:'作业4',weigh_Ratio:'0.3'},
    {program_Object:'课程目标3',supporting_Aim:'试题集合X3',weigh_Ratio:'0.6'},
])

export const everyWeightData = ([
    {aim:'权值i',aim1:'0.3',aim2:'0.4',aim3:'0.3'},

])
export const evaluationConfirmationData = ([
    { role: '评价组/系主任', fullApproval: '✔', partialApproval: '', noApproval: '', fullDisapproval: '', partialDisapproval: '' },
    { role: '教学副院长', fullApproval: '', partialApproval: '✔', noApproval: '', fullDisapproval: '', partialDisapproval: '' }
]);

export const summaryImprovementData = ([
    { item: '对上一轮教学的改进', description: '从上一轮学生的答题情况看，树和图知识的算法应用分析与设计能力较弱，应用分析题和算法设计题答题情况差，总体成绩偏低，故本轮教学重点加强树和图知识的讲授。' },
    { item: '本轮达成度结果分析评价', description: '期末考试答题情况较差，第一题答题情况表明学生基础理论知识有待提高，第二题应用题和第三题算法设计题答题情况较差，说明学生应用能力及算法设计能力有待加强。树和图知识考核部分比上一轮学生的答题情况好，总体成绩有所提高。' },
    { item: '持续改进方案（包括教学内容、教学方法及考核方式等）', description: '教学上要进一步突出教学的重点和难点，特别是树和图知识的算法；教学上加强知识的应用与扩展的讲授，理论联系实际应用，加强学生的综合分析问题能力、知识应用能力和算法设计能力的培养。' },
    { item: '课程评价人', description: '钟秀玉' },
    { item: '评价时间', description: '2023.7' }
]);


export const courseAchievementData = ([
    { courseObjective: '1', supportLinks: '1、2、3', completion: 0.73 },
    { courseObjective: '2', supportLinks: '1、2、3', completion: 0.71 },
    { courseObjective: '3', supportLinks: '1、2、3', completion: 0.72 }
]);

export const examPerformanceData = ([
    { courseObjective: '1', question: '第一题', totalValue: 30, averageScore: 19.93, completion: 0.664 },
    { courseObjective: '2', question: '第二题', totalValue: 40, averageScore: 24.87, completion: 0.622 },
    { courseObjective: '3', question: '第三题', totalValue: 30, averageScore: 19, completion: 0.633 }
]);

export const classPerformanceData = ([
    { courseObjective: '1', supportLink: '课堂表现', totalValue: 30, averageScore: 28.57, completion: 0.952 },
    { courseObjective: '2', supportLink: '课堂表现', totalValue: 40, averageScore: 38.09, completion: 0.952 },
    { courseObjective: '3', supportLink: '课堂表现', totalValue: 30, averageScore: 28.57, completion: 0.952 }
]);
export const homeworkPerformanceData = ([
    { courseObjective: '1', supportLink: '作业1、2', totalValue: 30, averageScore: 23.96, completion: 0.799 },
    { courseObjective: '2', supportLink: '作业3', totalValue: 40, averageScore: 32.55, completion: 0.814 },
    { courseObjective: '3', supportLink: '作业4', totalValue: 30, averageScore: 24.71, completion: 0.824 }
]);

export const courseBasicInfo = ([
    { item: '课程编号', content: '（填写课程编号）' },
    { item: '课程名称', content: '数据结构' },
    { item: '学时/学分', content: '85/4' },
    { item: '课程性质', content: '必修' },
    { item: '开课学期', content: '一年级下' },
    { item: '授课对象', content: '计算机2202' },
    { item: '授课人数', content: '64' },
    { item: '任课教师（职称）', content: '钟秀玉（教授）' },
]);
export const quantitativeAnalysisData = ([
    { courseObjective: '课程目标1', supportLink: '课堂表现', weight: 0.1 },
    { courseObjective: '', supportLink: '作业1、作业2', weight: 0.3 },
    { courseObjective: '', supportLink: '试题集合X₁', weight: 0.6 },
    { courseObjective: '课程目标2', supportLink: '课堂表现', weight: 0.1 },
    { courseObjective: '', supportLink: '作业3', weight: 0.3 },
    { courseObjective: '', supportLink: '试题集合X₂', weight: 0.6 },
    { courseObjective: '课程目标3', supportLink: '课堂表现', weight: 0.1 },
    { courseObjective: '', supportLink: '作业4', weight: 0.3 },
    { courseObjective: '', supportLink: '试题集合X₃', weight: 0.6 },
]);
export const spanMethod = ({ row, column, rowIndex, columnIndex }) => {
    if (columnIndex === 0) {
        if (row.courseObjective.startsWith('课程目标')) {
            return {
                rowspan: 3,
                colspan: 1
            };
        } else {
            return {
                rowspan: 0,
                colspan: 0
            };
        }
    }
};


